package com.mostromas.ess.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mostromas.ess.entities.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 继承BaseMapper<T>接口，它提供了很多对T表的数据操作方法
 */
public interface SysUserMapper extends BaseMapper<SysUser> {

    /**
     * 根据用户id查询此用户拥有的角色ids
     * @param id 用户id
     * @return 角色 id 集合
     */
    List<String> findRoleIdsById(@Param("id") String id);

    /**
     * 通过用户ID删除对应的角色中间表
     * @param userId
     * @return
     */
    boolean deleteUserRoleByUserId(@Param("userId")String userId);

    /**
     * 保存用户与角色关系表
     * @param userId
     * @param roleIds
     * @return
     */
    boolean saveUserRole(@Param("userId")String userId, @Param("roleIds")List<String> roleIds);

    /**
     * 根据部门ID获取用户集合
     * @param id 部门ID
     * @return
     */
    List<String> selectUsersByDepartmentId(@Param("id") String id);
}
